package JavaSEAdvance.day10_MapAndStream.D10_5HomeWork;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @author Xiao
 * @date 2021/7/28
 */
public class Test3 {
    /**
     * 问题2：
     * 以下是某不知名机构评出的全球最佳影片及华人最佳影片前十名 ：
     * 全球                       华人
     * 　　1、 《教父》                1、 《霸王别姬》
     * 　　2、 《肖申克的救赎》         2、 《大闹天宫》
     * 　　3、 《辛德勒的名单》         3、 《鬼子来了》
     * 　　4、 《公民凯恩》            4、 《大话西游》
     * 　　5、 《卡萨布兰卡》          5、 《活着》
     * 　　6、 《教父续集》           6、 《饮食男女》
     * 　　7、 《七武士》             7、 《无间道》
     * 　　8、 《星球大战》           8、 《天书奇谭》
     * 　　9、 《美国美人》           9、 《哪吒脑海》
     * 　　10、 《飞跃疯人院》        10、《春光乍泄》
     * 1、现将两个榜单中的影片名，分别按排名顺序依次存入两个ArrayList集合
     * 2、通过流的方式
     * 	1）打印全球影片排行榜中的前三甲影片名
     * 	2）打印华人影片排行榜中倒数5名的影片名
     * 	3）将两个排行榜中的前5名挑出来共同存入新的集合
     */
    public static void main(String[] args) {
        ArrayList<String> listEarth = new ArrayList<>(List.of(
                "《教父》","《肖申克的救赎》","《辛德勒的名单》","《公民凯恩》","《卡萨布兰卡》",
                "《教父续集》","《七武士》","《星球大战》","《美国美人》","《飞跃疯人院》"));
        ArrayList<String> listChina = new ArrayList<>(List.of(
                "《霸王别姬》","《大闹天宫》","《鬼子来了》","《大话西游》","《活着》",
                "《饮食男女》","《无间道》","《天书奇谭》","《哪吒脑海》","《春光乍泄》"));
        listEarth.stream().limit(3).forEach(mv -> System.out.println(mv));
        System.out.println("-------------");
        listChina.stream().skip(5).forEach(mv -> System.out.println(mv));
        System.out.println("-------------");
        Stream<String> stream1 = listEarth.stream().limit(5);
        Stream<String> stream2 = listChina.stream().limit(5);
        Set<String> set = Stream.concat(stream1, stream2).collect(Collectors.toSet());
        int count = 0;
        for (String mv : set) {
            count++;
            System.out.println(mv);
            if (count == 5) {
                System.out.println("-----------");
            }
        }
    }
}
